home *** CD-ROM | disk | FTP | other *** search
- //--- OBJECT WRITE BEGIN ---
- new GuiControl(ConsoleDlg) {
- profile = "GuiDefaultProfile";
- horizSizing = "right";
- vertSizing = "bottom";
- position = "0 0";
- extent = "640 480";
- minExtent = "8 2";
- visible = "1";
-
- new GuiWindowCtrl(ConsoleDlgWindow) {
- profile = "GuiWindowProfile";
- horizSizing = "right";
- vertSizing = "bottom";
- position = "0 0";
- extent = "500 300";
- minExtent = "8 2";
- visible = "1";
- text = "Console";
- maxLength = "255";
- resizeWidth = "1";
- resizeHeight = "1";
- canMove = "1";
- canClose = "1";
- canMinimize = "0";
- canMaximize = "1";
- MinSize = "500 300";
- closeCommand = "ToggleConsole(1);";
-
- new GuiScrollCtrl() {
- profile = "GuiScrollProfile";
- horizSizing = "width";
- vertSizing = "height";
- position = "3 36";
- extent = "494 246";
- minExtent = "8 2";
- visible = "1";
- willFirstRespond = "1";
- hScrollBar = "alwaysOn";
- vScrollBar = "alwaysOn";
- constantThumbHeight = "0";
- childMargin = "0 0";
- resizeWidth = "1";
- resizeHeight = "1";
-
- new GuiConsole() {
- profile = "GuiConsoleProfile";
- position = "0 0";
- };
- };
- new GuiConsoleEditCtrl(ConsoleEntry) {
- profile = "GuiTextEditProfile";
- horizSizing = "width";
- vertSizing = "top";
- position = "3 278";
- extent = "494 18";
- minExtent = "8 2";
- visible = "1";
- altCommand = "ConsoleEntry::eval();";
- maxLength = "255";
- historySize = "20";
- password = "0";
- tabComplete = "0";
- sinkAllKeyEvents = "1";
- useSiblingScroller = "1";
- };
- new GuiPaneControl(ConsoleErrorPane) {
- profile = "GuiPaneProfile";
- horizSizing = "width";
- vertSizing = "bottom";
- position = "3 22";
- extent = "474 85";
- minExtent = "474 10";
- visible = "1";
- caption = "No script compilation errors occured.";
- collapsable = "1";
- barBehindText = "1";
-
- new GuiScrollCtrl(ConsoleErrorScroller) {
- profile = "GuiScrollProfile";
- horizSizing = "width";
- vertSizing = "bottom";
- position = "0 14";
- extent = "474 71";
- minExtent = "8 2";
- visible = "0";
- willFirstRespond = "0";
- hScrollBar = "alwaysOff";
- vScrollBar = "alwaysOn";
- constantThumbHeight = "1";
- childMargin = "0 0";
-
- new GuiMLTextCtrl(ConsoleErrorDisplay) {
- profile = "GuiMLTextProfile";
- horizSizing = "width";
- vertSizing = "bottom";
- position = "2 2";
- extent = "474 14";
- minExtent = "8 2";
- visible = "1";
- lineSpacing = "2";
- allowColorChars = "0";
- maxChars = "-1";
- };
- };
- };
- };
- };
- //--- OBJECT WRITE END ---
-
- function ConsoleDlg::onWake()
- {
- %position = $pref::Console::position;
- if(%position $= "")
- %position = ConsoleDlgWindow.position;
-
- %extent = $pref::Console::extent;
- if(getWord(%extent, 0) < getWord(ConsoleDlgWindow.minExtent, 0) ||
- getWord(%extent, 1) < getWord(ConsoleDlgWindow.minExtent, 1))
- %extent = ConsoleDlgWindow.extent;
-
- ConsoleDlgWindow.resize(getWord(%position, 0), getWord(%position, 1),
- getWord(%extent, 0), getWord(%extent, 1));
- }
-
- function ConsoleDlg::onSleep()
- {
- $pref::Console::position = ConsoleDlgWindow.position;
- $pref::Console::extent = ConsoleDlgWindow.extent;
- }
-
- function ConsoleEntry::eval()
- {
- %text = trim(ConsoleEntry.getValue());
-
- if(strpos(%text, "(") == -1)
- {
- if(strpos(%text, "=") == -1 && strpos(%text, " ") == -1)
- {
- if(strpos(%text, "{") == -1 && strpos(%text, "}") == -1)
- {
- %text = %text @ "()";
- }
- }
- }
-
- %pos = strlen(%text) - 1;
- if(strpos(%text, ";", %pos) == -1 && strpos(%text, "}") == -1)
- {
- %text = %text @ ";";
- }
-
- echo("==>" @ %text);
- eval(%text);
- ConsoleEntry.setValue("");
-
- // Check for any pending errors to display
- updateConsoleErrorWindow();
- }
-
- function ToggleConsole(%make)
- {
- if (%make)
- {
- if (ConsoleDlg.isAwake())
- {
- // Deactivate the console.
-
- if ( $enableDirectInput )
- activateKeyboard();
- Canvas.popDialog(ConsoleDlg);
- }
- else
- {
- if ( $enableDirectInput )
- deactivateKeyboard();
- Canvas.pushDialog(ConsoleDlg, 99);
-
- // Check for any pending errors to display
- updateConsoleErrorWindow();
-
- // Collapse the errors if this is the first time...
- if(ConsoleErrorPane._initialized == false)
- ConsoleErrorPane.setCollapsed(true);
- }
- }
- }
-
- // The first hash is 1000...
- $ScriptErrorHashDisplayed = 999;
-
- function updateConsoleErrorWindow()
- {
- if($ScriptErrorHash != $ScriptErrorHashDisplayed && $ScriptErrorHash != 0)
- {
- // Hash was different so there must be a new error. Update the display!
-
- %oldText = ConsoleErrorDisplay.getText();
-
- if(%oldText !$= "")
- ConsoleErrorDisplay.setText(%oldText @ "\n" @ $ScriptError);
- else
- ConsoleErrorDisplay.setText($ScriptError);
-
- ConsoleErrorDisplay.setCursorPosition(100000); // Hacka hacka hacka
- ConsoleErrorDisplay.scrollToBottom();
-
- // Update the pane caption.
- $ConsoleErrorCount += $ScriptErrorHash - $ScriptErrorHashDisplayed;
- ConsoleErrorPane.caption = $ConsoleErrorCount @ " script compilation error(s) have occured!";
-
- // Indicate we dealt with this...
- $ScriptErrorHashDisplayed = $ScriptErrorHash;
- $ScriptError = "";
- }
- }
-
-
-